package day8;
//继承Thread类 重写run()
public class TestThread extends Thread {
    //run()表示线程运行的逻辑
    public void run() {
        //获取当前运行的线程对象.获取线程名
        String name=Thread.currentThread().getName();
        //super.run();
        int sum=0;
        for(int i=1;i<101;i++){
            if(i%2==0) sum+=i;
            System.out.println(name+" " +i);
            try {
                Thread.sleep(10);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        System.out.println(name+" "+"1-100的偶数和为："+sum);
    }

    public static void main(String[] args) {
        //1.创建线程(是Thread类型相关的类 都属于线程)
        TestThread tt1=new TestThread();
        TestThread tt2=new TestThread();
        tt1.setName("易烊千玺线程");
        tt2.setName("郑美美美美晨线程");
        MyThread my=new MyThread();
        //设置守护线程 默认为false 必须在线程启动之前设置 否则失效
        my.setDaemon(true);
        //2.启动线程(不能使用run() 它只相当于对象调用普通方法执行)
        //start() 才属于开启线程，会让线程进入到就绪状态
        //表示准备运行 就可以和其他线程竞争CPU
        tt1.start();
        tt2.start();
        my.start();
    }
}
//守护线程
class MyThread extends Thread{
    public void run() {
        while (true){
            try {
                Thread.sleep(500);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("RUNNING!");

        }

    }
}
